DEPARTMENT:
|
|
Computer
Science
|
|
SUBJECT CODE/ COURSE TITLE: |
|
CS 371/ Operating System and Architecture I |
|
CLASS HOURS: |
|
4 Class Hours per Week |
|
CREDITS: |
|
4 |
|
PREREQUISTES: |
|
CS 232 and CS 242 |
|
TEXTBOOK: |
|
A. Silberchatz, G. Gayne, & P. Galvin |
Operating System Concepts, 8th Edition | John Wiley & Sons |
2009 | ISBN: 9780470128725. |
|
REFERENCE: |
|
Internet Computer Magazines and Journals |
|
SEMESTER: |
|
Fall 2011 |
|
PREPARED BY: |
|
Dr. A. Joseph |
![]()
Course
Description: Introduction to the various types of operating
systems: uniprogramming and multiprogramming systems; and interactive
processes, storage management, and process and resource control. The course
includes laboratory work designed to provide an opportunity for projects in C/C++
and Java.
Professor:
|
|
Dr. A. Joseph
|
Office:
|
|
163 Williams Street, 2nd floor, Room 231
|
|
Telephone: |
|
212 346 1492 |
|
Email: |
|
|
|
Office Hours: |
|
Tuesday & Thursday: 9:00am – 11:00am &
Tuesday: 1:30pm --2:30pm |
Final examination:
|
|
30% (30%)
|
|
In-class examinations (5 – 20/25 minutes exams ) |
|
24% (24%)
[best 4 of 5] |
|
In-class quizzes: Individual : Team: |
|
13%
(15%) 6% (15%) [Lowest grade is dropped] 7%
(0%)
[Lowest
grade is dropped] |
|
Peer Evaluation Factor: |
|
3% |
|
Team/class Preparation and participation: Coordinator/Reporter/observer
(document): Journal: Class Activity/Preparation & in
class Performance |
|
15% (13%) 2% (0%) 10% (10%) (Due 9/20, 10/18, 11/17, and 12/8/11) 3% (3%) |
|
Homework: |
|
0%
(0%) (No late homework is accepted
– will be counted as preparation &
performance) |
|
Project/Report & Presentation: |
|
15%
(18%) (3% for presentation) |
|
Group members’ average performance (bonus): Above 86%: 76% -- 86%: 65% -- 75%: Below 65%: |
|
0 – 10%
(0%) 10% 6% 3% 0% |
|
Extra credit assignment (optional): Note: Only for students who are otherwise
fulfilling all of the other course requirements. It is not intended to be a
substitute for any of the regular class assignments. |
|
10% (Due by week 12 and no later) |
Note 1: All exams are
cumulative
Note 2: The journal is
also cumulative.
Note 3: Non-team member
students are assigned grades based on the policy outlined within the
parentheses.
Note 4: The final exam
will consist of two parts: one is common to New York and Pleasantville and the
other is not.
Final
grade Determination
Above 92%
|
|
A
|
|
90% -- 92% |
|
A- |
|
87% -- 89% |
|
B+ |
|
83% -- 86% |
|
B |
|
80% -- 82% |
|
B- |
|
77% --79% |
|
C+ |
|
70% -- 76% |
|
C |
|
65% -- 69% |
|
D+ |
|
60% -- 64% |
|
D |
|
Below 60% |
|
F |
|
Note: Grades are computed to the nearest whole number. |
||
Learning Objectives and Outcomes
A student in operating systems and architecture course
will achieve the following objectives through the corresponding outcomes:
Objective #1
1. Explain the role and purpose; functionality, design
and development issues; the influences of security, distributed, general, and
special purpose systems; system structure and operations; process, storage, and
memory management; different computing environments including the Internet and
peer-to-peer computing on operating systems.
Outcomes #1
1a. Demonstrate by explaining or describing the objectives
and functions of modern operating systems
1b. Demonstrate sound knowledge of the user and system
views of the operating system and able to differentiate between these two
viewpoints.
1c. Adequately explain the structure and mode of
operations of today’s operating system as they relate to such concepts as
multiprogramming, time-sharing, swapping, interrupt, and dual mode operation.
1d. Demonstrate intimate knowledge of the issues of design
and implementation as well as the desired user and system properties.
1e. Show understanding of the influences of security,
distributed, general and special purpose systems, and different computing
environments on modern operating system design.
1f. Demonstrate the ability to discuss the tradeoffs
inherent in operating system design and able to identify potential threats and
their safeguards in designed systems.
1g. Demonstrate through discussion or explanation the role
of the operating system in process, memory, and/or storage management.
1h. Able to differentiate between protection and security
of a computer system.
1i. Show clear knowledge and understanding of the relative
merits of open-source operating systems by comparing and contrasting it with
the typical proprietary systems.
Objective #2
2. Understand and describe the concepts of structuring
methods; interrupts’ methods and implementation; application programming
interface (API); services provided to users and the system; and installation,
customization, and booting.
Outcomes #2
2a. Demonstrate ability to compare and contrast the many
possible methods (e.g., simple, layered, modular, and microkernel) of
structuring an operating system.
2b. Show sound knowledge of the difference between
asynchronous and synchronous interrupts and of the relative advantages of
interrupts over polling.
2c. Show concrete knowledge by describing the procedures
involve in installing, customizing, booting an operating system.
2d. Able to discuss the system call concept and able to
differentiate between the needs for the system call interface and the
application program interface.
2e. Show how system programs manage the resources used by
applications.
2f. Demonstrate the ability to illustratively explain the
reasons why the services provided to users constitute a different set of
functions than those provided to the system.
2g. Clearly explain, with the help of examples, the
implementation and relative benefits of virtual machines.
2h. Able to discuss the central roles of the operating
system in process, memory, and storage management.
Objective #3
3. Understand and explain the process concept and the
related idea of thread as well as their respective concurrency.
Outcomes #3
3a. Able to explain process state and process control
block using appropriate examples to highlight their components.
3b. Able to illustratively describe the creation and
termination, scheduling, and interprocess communication features of a process.
3c. Show the ability to compare and contrast the various
types of multithreading models.
3d. Demonstrate a deep understanding of some of the issues
encountered with multithreaded programs (e.g., fork () and exec () system
calls, cancellation, signal handling, thread pools, thread specific data, and
scheduler activations).
3e. Discuss CPU scheduling algorithms and explain the
evaluation criteria for a selecting algorithm.
3f. Able to describe possible run-time problems arising
from the concurrent operation of many separate tasks.
3g. Demonstrate the ability to explain how software and
hardware are individually used to solve mutual exclusion problem.
3h. Able to discuss clearly the different methods used by
the operating system to prevent or handle deadlocks
3i.
Able to discuss
the evaluation criteria for selecting a particular system’s CPU scheduling
algorithm and the various available criteria comparing CPU scheduling
algorithms.
Objective #4
4. Understand and describe physical and virtual memory
organization as well as the management schemes used during process execution to
optimize CPU utilization and response time.
Outcomes #4
4a. Able to compare and contrast paging and segmentation
techniques.
4b. Know how to evaluate the tradeoffs of the components
parts in the memory hierarchy in terms of size, cost, and access time.
4c. Able to compare and contrast demand paging and
copy-on-write techniques.
4d. Show the ability to analyze such techniques or
policies as page replacement, swapping, and thrashing.
Objective #5
5. Understand and explain file system interface and
implementation.
Outcomes #5
5a. Able to discuss file system design tradeoffs including
access methods, file sharing, file locking, directory structures, and
protection.
5b. Demonstrate sound knowledge and deep understanding of
a file’s attributes and operations.
5c. Demonstrate a deep understanding of the details of a
local file system and directory structure implementation.
5d. Able to compare and contrast the strengths and
weaknesses of different types of file organization.
Objective #6
6. Develop team-building, social, and organizational
skills that they can further develop in other classes and in their professional
careers.
Outcomes #6
6a. Demonstrate an ability to work effectively in teams.
6b. Demonstrate the ability for effective verbal and
written communication.
Tentative
Examination Schedule:
|
Course Section |
In-class Examinations
Dates |
Project
Submission & Presentation Date |
Final Exam |
|
CS 371 (CRN: 72277) |
9/27/11,
10/18/11, 11/1/11, 11/15/11, & 12/6/11 |
December 1, 2011 |
December 15/20, 2011 10:40am – 12:40pm |
Class
meeting Schedule
|
Course Section |
Day, Time, and
Location of Class Meetings |
First and Last
Day of Class Meetings |
|
CS 371/ |
Tuesday & Thursday: 11:15am – 1:05pm; 163
William St., R1520 |
First class: Sept. 7, 2011 Last class: Dec. 21, 2011 |
Note 1: To facilitate
and promote learning, you are encouraged to download the lectures from
Blackboard and study them along with the material in the textbook. All lessons
will be posted on Blackboard at least a week in advance. Use the textbook to
complement and perhaps, at times, expand and elucidate ideas presented in the
lecture notes. Note that mere reading is
not studying.
Note 2: Some lessons
may be presented in a storytelling format while others will highlight
inquiry-based lecture-discussion and problem based learning. However, the
course will centrally focus on problem-solving in a collaborative learning setting
where you will be a member of a team. There will be opportunities to practice problem solving and the
beginning of and throughout each lesson. The solutions to the homework problems
will be provided to you in class as a means to explain the course concepts or
through Blackboard postings. To get the most out of the course, you are
encouraged to follow and keep up with the reading assignments and genuinely
attempt each homework problem before coming to class. For those problems you
cannot solve, determine the nature of your difficulty and bring it up in class
or during office hours. The idea is to come to class willing and prepared to
learn as well as ready to ask questions about the course materials and
problems. The mantra of this course is learning,
learning, learning and more learning!
Note 3: In the interest
of learning, it is very important
that you foster an inquisitive mind – do all the required assignments. Failing
to do so may diminish your ability to get the most out of each lesson and the
class. Studying is NOT mere reading of the textbook and class notes and slides, it’s an intimate interaction between you and the information
provided to you in the class notes and
slides and the textbook.
NOTE 4: LEARNING IS AN
ACTIVE PROCESS – IT IS MORE
Note 5: Learning is the central objective of this course; Teaching will facilitate
learning.
Note 6: It is very
important you read and familiarize yourself with SCSIS Statement of Student Responsibilities (see Blackboard).
Note 7: You should devote at least 8 hours per week to prepare for the course – more may be
needed depending on your rate of adequately understanding and mastering the
materials of this course as well as on the grade you desire.
Note 8: You are strongly encouraged to spend an appropriate length of time to
research, develop, and implement the project; during the development and
implementation process seek my help as needed to resolve any issue you may
encounter. Your project should reflect your personal thoughts and understanding
of the assignment and must be built on sound theory that is differentiable from
your personal thoughts.
Note 9: In the interest
of learning, it is very important to
come to class prepared to learn – do all required assignments. Failure to do so
could diminish your ability to get the most out of each lesson and the class.
Remember that learning is action oriented. That is, it is not enough to come to class to listen to what others have to say.
You should come to class prepared to become involve in all aspects of classroom activities because this is action.
Note 10: We are now living
in a global knowledge economy, which
has ushered a new age --the age of
learning. Learning may be defined as a
relatively permanent change in mental associations due to experience or the
relative increase of ability in achieving a target through experience
regardless of the obstacles. In a broader context, learning may be defined as a process of constructing and
transforming
experience into knowledge, skills, attitudes, values, emotions, beliefs, and
the senses. Learning is a process of internalizing all experiences individuals
have into the external world and making them part of the individual.
Note 11: To be
successful at learning or anything for that matter, you need the proper
attitude (successful learners’ attitude), self-motivation, and commitment.
Successful learners demonstrate the following characteristics: values, focus,
inspiration, visualization, and reflection.
Note 12: The skills that
are needed to survive in today’s workplace, be a life-long learner, and be an
active citizen are the following: critical thinking and problem solving,
collaboration across networks and leading by influence, agility and
adaptability, initiative and entrepreneurialism, effective oral and written
communication, accessing and analyzing information, and curiosity and
imagination.
.
TOPICS COVERED
|
Weeks |
Topics
|
Homework Assignments
|
|
|
|
|
|
1-2 |
Introduction: What
operating system do; computer system organization and architecture; operating
system structure and operations; process, memory, and storage management; protection
and security; distributed, general, and special purpose systems; and computing
environments and open-source systems. |
1. Read chapter 1 2. Do problems 1.1; 1.2; 1.3; 1.4; 1.5; 1.7; 1.10;
1.12;.1.13; 1.14; 1.15; 1.16; 1.17;1.18; 1.19; 1.22; 1.25; 1.26; 1.27; 1.30;
1.31; 132. |
|
|
|
|
|
2-3 |
Operating system structures: Operating
system services; user operating system interface; system calls and their types;
system programs; operating system design, implementation, structure,
debugging, and generation; virtual machines; and system boot. |
1. Read chapter 2 2. Do problems 2.1; 2.2; 2.3; 2.4; 2.5; 2.6; 2.7; 2.8;
2.9; 2.10; 2.11; 2.12; 2.13; 2.15; 2.16; 2.17; 2.19; 2.20; 2.21; 2.22. |
|
|
|
|
|
4-5 |
Processes: process
concept and scheduling; operations on processes; interprocess communication;
examples of IPC systems; and communication in client server systems. |
1. Read chapter 3 2. Do problems 3.1; 3.2; 3.3; 3.5; 3.6; 3.7; 3.14. |
|
|
|
|
|
5-6 |
Threads: Multithreading
models; thread libraries; threading issues; and operating system examples. |
1. Read chapter 4 2. Do problems 4.1; 4.2; 4.3; 4.4; 4.7; 4.8; 4.9; 4.10;
4.11; 4.14. |
|
|
|
|
|
7 |
CPU scheduling: Basic concepts; scheduling and algorithms; and
multiprocessor and thread scheduling; algorithm evaluation; operating system
examples |
1. Read chapter 5 2. Do problems 5.1; 5.2; 5.3; 5.4; 5.5; 5.6; 5.7; 5.8;
5.9; 5.10; 5.11; 5.12; 5.13; 5.16; 5.18. |
|
|
|
|
|
8-9 |
Process synchronization and deadlocks: Critical
section problem; Peterson’s solution; synchronization hardware; semaphores;
synchronization problems; monitors; system model; deadlock characterization;
methods of handling deadlock; deadlock prevention, avoidance, and detection;
and recovery from deadlock. |
1. Read chapter 6 and 7 2. Do problems 6.3; 6.4; 6.6;6.11; 6.12; 6.13; 6.14;
6.17; 6.18; 7. 7.1; 7.2; 7.10; 7.11; 7.15. |
|
|
|
|
|
9-10 |
Main and virtual memory management: Swapping; Contiguous
memory allocation; paging and demand paging; page table structure;
segmentation; copy-on-write; page replacement; allocating frames and kernel
memory; thrashing; memory mapped files; and operating system examples. |
1. Read chapters 8 and 9 2. Do problems 8.1; 8.3; 8.4; 8.5; 8.8; 8.11; 8.12;
8.12; 8.13; 8.14; 8.15; 8.17; 8.18; 9.1; 9.4; 9.5;9.8; 9.16; 9.18; 9.19. |
|
|
|
|
|
11-12 |
Interface and its implementation of
file system: File concept; access methods; file system,
directory, disk, and structures; File system and directory implementations;
file system mounting; file sharing; protection; allocation methods; free
space management; efficiency and performance; and recovery. |
1. Read chapters 10 and 11 2. Do problems 10.1; 10.2; 10.3; 10.5; 10.12; 10.13;
10.15; 11.6. |
|
|
|
|
|
13 |
Project presentation and submission: project
presented to class and submitted. |
|
|
|
|
|
|
14 |
Final
Examination. |
|
|
|
|
|
|
|
|
|
|
Note 1: This course
is structured around freely formed small collaborative teams in a cooperative
learning environment. Students are encouraged to work together in their
respective teams to form effective and productive teams that share the
learning experience within the context of the course, help each other
overcome learning difficulties, spend time to get to know each other, and
spend time each week to discuss and help one another with the course work
(content and assignments). Each team member is responsible for the completion
and submission of each assignment. Each team member will be individually
graded. |
||
|
|
||
|
Note 2: During the
first class session, student background information may be collected to get a
sense of the diversity of student population, educational background, and
learning style. An assessment test may be given to determine students’
prerequisite knowledge of the subject. |
||
|
|
||
|
Team project: Students in
small teams of two to four persons will participate in a research project
supported by a technical report. The research topic will be on an emerging
area of interest to an organization or the research community. In this
project, teams will conduct research to assist in the determination of the
solution to the research problem. They will demonstrate their knowledge and
understanding of how research is conducted and the significance of the
problem solution. The project grade to individual students within a team will
be based upon their personal involvement and level of participation in the
project as determined by their teammates and the professor. |
||
|
|
||
|
Web support: This course
may be supported with most or all of the following Blackboard postings:
lesson questions, lessons (MS PowerPoint), instructions and guidelines
pertaining to the course, operating system and architecture related news,
team and class discussions boards, correspondence about the course, homework
solutions, examination grades, and miscellaneous course related information
and activities. |
||
|
|
||
|
Supplementary materials: Handouts in
class or web postings of current events and issues affecting information
security and risk analysis/assessment.
Some books that may be helpful to the course will be posted on
Blackboard. |
||
|
|
||
|
In class activity and participation: Students are encouraged to bring to class articles on current newsworthy events in information security, risk analysis/assessment and management and related news to share with the class. Students are welcome to inform the class on these events and their significance to operating system and architecture. |
||
|
Students are strongly encouraged to download relevant
posted lessons from Blackboard and review them. They are encouraged to ask
questions about these lessons in class. Effort may be made to present some lessons using the
storytelling format supported with subsequent discussion and elaboration on
the central themes of the respective lessons. The key elements of a story are the following:
causality, conflict, complication, and character. |
Collaborative teams are designed to function outside
of the classroom. Collaborative team activities will be reinforced inside the
class during the lessons. Teams are encouraged to function cohesively and to
participate in all class activities.
The following excerpts about collaborative learning
are from research documents:
·
In the university
environment, educational success and
social adjustments
depend primarily on
the availability and effectiveness of developmental academic support systems.
·
Most organized learning occurs in some kind of team
team characteristics
and team processes significantly contribute to success or failure in the
classroom and directly [affect] the quality and quantity of learning within the
team.
·
Team work invariably produces tensions that are
normally absent, unnoticed, or suppressed in traditional classes. Students bring with them a variety of
personality types, cognitive styles, expectations about their own role in the
classroom and their relationship to the teacher, peers, and the subject matter of
the course.
·
Collaborative
learning involves both management and decision-making skills to choose among
competing needs. The problems
encountered with collaboration have management, political, competence, and
ethical dimensions
·
The two key underlying principles of the collaborative
pedagogy are that active student involvement is a more powerful learning tool
than the passive attendance and that students working in teams can make for
more effective learning than students acting alone. The favorable
outcomes of collaborative learning include greater conceptual understanding, a
heightened ability to apply concepts, and improved attendance. Moreover, students become responsible for their own learning is likely to
increase their skills for coping with ambiguity, uncertainty, and continuous
change, all of which are characteristics of contemporary organizations.
Who creates a new activity in the face of risk and
uncertainty for the purpose of achieving success and growth by identifying
opportunities and putting together the required resources to benefit from them?
Creativity is
the ability to develop new ideas and
to discover new ways to of looking at problems and opportunities
Innovation is
the ability to apply creative solutions to those problems and opportunities to
enhance or to enrich people’s lives.
|
Each team may be viewed as a small business that is
seeking creative and innovative ways to maximize its product, academic
outcomes or average team grade. A satisfactory product is the break-even team
average grade of 85%. Teams getting average grades of above 85% are
profitable enterprises. |